home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / ctutord.EXE / TEMPLATE < prev    next >
Text File  |  1993-05-12  |  2KB  |  92 lines

  1. /* section 1 */
  2. #include <stdio.h>
  3.  
  4. /* section 2 */
  5. /*
  6.  *  This is an example of organizing a source file for use in a
  7.  *  make believe project called operation codify. 
  8.  *
  9.  *  Operation codify is used to organize a source file in  
  10.  *  predictable format which can be used by all programmers working
  11.  *  on the same project.
  12.  * 
  13.  */
  14.  
  15. /* section 3 */
  16. #define          ON    1    
  17. #define        OFF    0
  18. /*
  19.  * node definition of the binary tree.
  20.  *
  21.  */
  22. struct tree {
  23.     struct tree *right;/* pointer to right subtree */
  24.     struct tree *left; /* pointer to left subtree  */
  25.     int data;          /* numerical data to be stored in tree */
  26. };
  27.  
  28. /* 
  29.  * Function prototype - "buildtree": used to build the binary tree 
  30.  */
  31. int buildtree( struct tree * );
  32.  
  33. /* section 4 */
  34. /* Any global variables go here... */
  35.  
  36. /* section 5 - Start of Functions */
  37. main()
  38. {
  39.     int    err;      /* error flag, 0=ok, -1=error       */
  40.     struct tree root; /* define the root node of the tree */
  41.  
  42.     err=buildtree(&root);
  43.     /* check error condition, exit if problem */
  44.     if( err == -1 ){
  45.         printf("Buildtree could not allocate memory!\n");
  46.         /* return to op system */
  47.         exit();
  48.     }
  49.     /* ... */
  50. }
  51.  
  52. /*
  53.  *    buildtree 
  54.  *        
  55.  *    Purpose: buildtree is responsible for building a binary tree
  56.  *         which will be used to numerically sort a list of
  57.  *         numbers. The list of numbers is stored in the tree
  58.  *         one number at a time using the following algorithm:
  59.  *         
  60.  *         if( number < node value )
  61.  *            go left
  62.  *         else
  63.  *            go right
  64.  *
  65.  *        buildtree calls itself (recursive) when a value is found
  66.  *        at the current node. When a value is not found, a new
  67.  *        node is malloc'ed and initialize. buildtree is then
  68.  *        called again with the address of the new node.
  69.  *
  70.  *    Inputs:
  71.  *        struct node *    (pointer to a node structure)
  72.  *
  73.  *    Outputs:
  74.  *        int    (error condition flag), possible values:
  75.  *            
  76.  *            0  - all is well
  77.  *            -1 - could not allocate memory correctly
  78.  *            
  79.  *
  80.  *    Lineage:
  81.  *        John Doe    01/01/77    1.0 Original version
  82.  *
  83.  *        (all mods will be identified here, along with their
  84.  *        creator and the date.)
  85.  *
  86.  */
  87. int buildtree( struct tree *node )
  88. {
  89.     /* ... */
  90. }
  91.  
  92.